package com.zhang.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Spring boot方式
 * mybatis-plus的配置类  用来分页
 */
@Configuration
public class MybatisPlusConfig {

//        // 旧版
//        @Bean
//        public PaginationInterceptor paginationInterceptor() {
//            PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
//            // 设置请求的页面大于最大页后操作， true调回到首页，false 继续请求  默认false
//            // paginationInterceptor.setOverflow(false);
//            // 设置最大单页限制数量，默认 500 条，-1 不受限制
//            // paginationInterceptor.setLimit(500);
//            // 开启 count 的 join 优化,只针对部分 left join
//            paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
//            return paginationInterceptor;
//        }

        // 最新版
        @Bean
        public MybatisPlusInterceptor mybatisPlusInterceptor() {
            MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
            interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
            return interceptor;
        }

}
